proof by cases discrete math